export const TOOLS_PANEL_HEIGHT = 100
export const MAJOR_GRID_SPACING = 50
export const MINOR_GRID_SPACING = 10
export const m4Identity = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]

export const SIM_TIME = 0.1 // sec
export const SIM_TIME_MINUTE = 0.0016666666666666668
export const SIM_TIME_MS = 100
export const speedRatio = [0.5, 1, 2, 4, 8]
export const settings = {
  // 是否显示雕刻机
  showMachine: false,
  // 雕刻机的宽度
  machineWidth: 300,
  //  雕刻机的高度
  machineHeight: 200,
  // 雕刻机激光束的直径
  machineBeamDiameter: 0.2,
  // 雕刻机底部左侧的 X 坐标 (水平位置)
  machineBottomLeftX: 0,
  // 雕刻机底部左侧的 Y 坐标 (垂直位置)
  machineBottomLeftY: 0,
  //  工具网格的小间距
  toolGridMinorSpacing: 10,
  //  工具网格的主要间距
  toolGridMajorSpacing: 50,
  // 是否缓存工具的显示
  toolDisplayCache: false,
}

export const defaultWorkspace = {
  //  G0 移动速率 (可能毫米/分钟)
  g0Rate: 7500,
  // 旋转直径
  rotaryDiameter: 10,
  // 仿真时间 (可能秒)
  simTime: 0,
  // 标识在雕刻过程中光标所在的位置
  cursorPos: [0, 0, 0],
  // 是否显示 G-Code
  showGcode: true,
  // 是否显示移动路径
  showTraversal: true,
  // 是否显示旋转
  showRotary: false,
  // 是否显示光标
  showCursor: true,
}

export const dimensions = {
  width: 400,
  height: 400,
}

export const defaultCamera = {
  // 相机的观察位置
  eye: [150, -105, 300],
  // 相机观察的目标位置
  center: [150, -105, 0],
  // 相机所观察的场景的上方
  up: [0, 1, 0],
  // 视角的垂直视野角度
  fovy: Math.PI / 2.6,
  // 是否显示透视
  showPerspective: false,
}

export const gcodeTxt = {
  target: {
    result: `;FLUX Laser Svgeditor Tool\n$H\nG1S0\nM25\nG1 U150\nG1 F7500.0000\nG1 X34.8797 Y36.6223\nG1 F1200.0000\nG1 X34.8797 Y36.6223\nG1V0\nG1 X94.1379 Y60.8352\nG1 F7500.0000\nG1 X94.1379 Y60.8352\nG1S0\nG1S0\nG1 S0.0000\nG1 F7500.0000 X0.0000 Y0.0000\n`,
  },
}
